if (self = [super init]) vs. if ((self = [super init]))
Posted
by JOM
on Stack Overflow
See other posts from Stack Overflow
or by JOM
Published on 2010-06-17T05:57:32Z
Indexed on
2010/06/17
6:03 UTC
Read the original article
Hit count: 166
Was just doing a code review and started to wonder:
I thought if (self = [super init]) checks whether assigning return value of [super init] to variable self was successful or not (value of operation). Thus (self = nil) would actually be TRUE.
I thought if ((self = [super init])) checks what is the value of self after assignment (value of variable). Thus ((self = nil)) would be FALSE.
Which one is the correct way to use when initializing your own classes? Apple documentation uses the former one (for example here), which style I'm actually using now.
© Stack Overflow or respective owner